
#include "util.hpp"
#include "db.hpp"
#include "room.hpp"
#include "session.hpp"
#include "matcher.hpp"
#include "server.hpp"

#define HOST "127.0.0.1"
#define USER "root"
#define PASS "密码"
#define PORT 3306
#define DBNAME "gobang"


// void test_logger()
// {
//     ILOG("I测试");
//     DLOG("D测试");
//     ELOG("E测试");
// }
// void test_mysql()
// {
//     MYSQL* mysql = mysql_util::mysql_create(HOST, USER, PASS, DBNAME, PORT);

//     string sql = "insert user values(null, 'zhangsan', '123123', 1000, 0, 0);";
//     if(mysql_util::mysql_execute(mysql, sql) == false)
//     {
//         return;
//     }
//     mysql_util::mysql_destroy(mysql);

// }
// void test_json()
// {
//     Json::Value root;
//     root["username"] = "张三";
//     root["password"] = "123123";

//     string body;
//     if(json_util::serialize(root , body) == false)
//     {
//         return;
//     }
//     cout << body << endl;

//     Json::Value user;
//     json_util::unserialize(body, user);
 
//     cout << user["username"].asString() << endl;
//     cout << user["password"].asString() << endl;

// }
// void test_string()
// {
//     string sep = ",";
//     string src = "123,345,,,657";
//     vector<string> arr;

//     string_util::split(src, sep, arr);

//     for(auto e:arr)
//     {
//         cout << e << endl;
//     }

// }
// void test_file()
// {
//     string filename = "./makefile";
//     string body;
//     file_util::read(filename, body);
//     cout << body << endl;
// }
// void test_db()
// {
//     user_table ut(HOST, USER, PASS, DBNAME, PORT);
//     Json::Value user;
//     user["username"] = "xiaoming";
//     user["password"] = "123123";
//     // ut.insert(user);
//     // if(ut.login(user) == false)
//     // {
//     //     cout << "登录失败" <<endl;
//     //     return ;
//     // }
//     // string body;
//     // if(json_util::serialize(user , body) == false)
//     // {
//     //     return;
//     // }
//     // cout << body << endl;
//     // Json::Value val;
//     // ut.select_by_name("xiaoming", val);
//     // string body;
//     // if(json_util::serialize(val , body) == false)
//     // {
//     //     return;
//     // }
//     // cout << body << endl;
//     // ut.win(17);
//     // ut.lose(17);

//     // Json::Value val;
//     // ut.select_by_id(17, val);
//     // string body;
//     // if(json_util::serialize(val , body) == false)
//     // {
//     //     return;
//     // }
//     // cout << body << endl;

// }
// void test_room()
// {
//     user_table ut(HOST, USER, PASS, DBNAME, PORT);

//     online_manager om;
//     // room r(2, &ut, &om);
//     room_manager rm(&ut, &om);
//     // room_ptr rp = rm.create_room(2, 3);
//     matcher mm(&ut, &om, &rm);


// }
int main()
{
    // test_room();
    gobang_server server(HOST, USER, PASS, DBNAME, PORT);
    server.start(8081);

    return 0;
}